package com.liuyucheng.interview.interview202108;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 自定义LRU缓存数据结构(未完成)
 * @author LiuYuCheng
 * @date 2021/8/16 21:14
 */
public class LRUCache {
    private int size;

    Map<Integer,Integer> map = new HashMap<>();

    List<Integer> useList = new ArrayList<>();

    public LRUCache(int size) {
        this.size = size;
    }

    /**
     * 如果超出缓存数量了,替换掉使用最少的
     * @author LiuYuCheng
     * @date 2021/8/16 21:17
     */
    public void put(Integer key,Integer value){
        if(map.size()<size){
            map.put(key,value);
        }else{
            //找list里面最后的元素,在map里找到删掉,插入新的,新的key放在list最前面
        }
    }

    /**
     * 找到的话返回,没找到返回-1
     * @author LiuYuCheng
     * @date 2021/8/16 21:19
     */
    public Integer get(Integer key){
        if(map.containsKey(key)){
            //刷新最近使用记录,遍历list,把这个key的下标放到最前面
            //
            return map.get(key);
        }

        return -1;
    }
}
